package com.gitee.cnlongdb.basic.utils.date;

import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

import com.gitee.cnlongdb.basic.constant.LongDbConstant;

/**
 * 系统名称：LongdbDateUtils
 * 模块名称：
 × 模块描述：longdb - 日期管理类
 × 功能列表：
 × 模块作者：ZOUYONG
 × 开发时间：2018年12月22日 上午9:57:18
 × 模块路径：com.gitee.cnlongdb.basic.utils.date.LongdbDateUtils
 */
public class LongdbDateUtils {

	/**
	 * 加减年操作
	 * @param time 时间字符串 yyyy-MM-dd HH:mm:ss
	 * @param num 加的数，-num就是减去
	 * @return 减去相应的数量的年的日期
	 * @throws ParseException
	 */
	public static Date yearAddNum(Date time, Integer num) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(time);
		calendar.add(Calendar.YEAR, num);
		Date newTime = calendar.getTime();
		return newTime;
	}

	/**
	 * 加减月操作
	 * @param time 时间
	 * @param num 加的数，-num就是减去
	 * @return 减去相应的数量的月份的日期
	 * @throws ParseException Date
	 */
	public static Date monthAddNum(Date time, Integer num) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(time);
		calendar.add(Calendar.MONTH, num);
		Date newTime = calendar.getTime();
		return newTime;
	}

	/**
	 * 加减日操作
	 * @param time 时间
	 * @param num 加的数，-num就是减去
	 * @return 减去相应的数量的天的日期
	 * @throws ParseException Date
	 */
	public static Date dayAddNum(Date time, Integer num) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(time);
		calendar.add(Calendar.DAY_OF_MONTH, num);
		Date newTime = calendar.getTime();
		return newTime;
	}
	
	public static void main(String[] args) {
		
		Date date = dayAddNum(new Date(), 0);
		System.out.println(LongDbConstant.generFormatOne.format(date));
	}

}
